package com.zzyl.serve.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 护理等级DTO
 */
@Data  // 自动生成getter、setter、toString、equals、hashCode
@NoArgsConstructor  // 自动生成无参构造（必填，方便JSON反序列化）
@AllArgsConstructor // 自动生成全参构造（方便手动创建对象）
public class NursingLevelDTO {

    /**
     * 护理等级ID（新增时可null，修改时必填，对应JSON中的"id":123）
     */
//    @NotNull(message = "修改时护理等级ID不能为空")
    private Integer id;

    /**
     * 护理等级名称（必填，对应JSON中的"name":"六级护理等级"）
     */
    @NotBlank(message = "护理等级名称不能为空")
    private String name;

    /**
     * 护理计划ID（必填，关联护理计划表，对应JSON中的"lplanId":"3"）
     */
    @NotBlank(message = "护理计划ID不能为空")
    private String lplanId;

    /**
     * 费用（必填，金额类型用BigDecimal避免浮点误差，对应JSON中的"fee":2000）
     */
    @NotNull(message = "护理等级费用不能为空")
    private BigDecimal fee;

    /**
     * 状态（必填，如1-启用、0-禁用，对应JSON中的"status":1）
     */
    @NotNull(message = "护理等级状态不能为空")
    private Integer status;

    /**
     * 等级说明（非必填，默认"无"，对应JSON中的"description":"无"）
     */
    @NotNull(message = "护理等级状态不能为空")
    private String description;
}